The present disclosure relates to devices and methods of compiling program code.
Compilers typically optimize code through a series of passes. Developers seeking to optimize their programs may have a difficult time understanding why a compiler optimizer might produce a particular code sequence. Interactively working with a compiler optimizer by inspecting the outputs of each transformation allows visibility into the code sequence, but this may be of limited use, as there is no way to learn through ‘what-if’ experimentation of the code. Moreover, optimizers may write out the code they work on at various points, but typically these are limited representations of the code.
Thus, there is a need in the art for improvements in devices and methods of compiling program code.